with Parser_Filter; use Parser_Filter;
with Element; use Element;
with Block; use Block;
with Ada.Containers.Vectors;
with IO; use IO;

package Block_Filter is

package Block_Vec is new Ada.Containers.Vectors
  (Element_Type => Block_Type, Index_type => Positive);

-- Block filter
type Block_Filter_Type(In_File : File_Type_Access) is new Element_Filter_Interface with
   record
      File : File_Type_Access := In_File;
   end record;
overriding procedure Found_Element(This : in out Block_Filter_Type; E : in Element_Type);

private
   procedure Handle_Block(This : in Block_Filter_Type; Block : Block_Type; Cluster_Timecode : in Element_Size_Type);
   pragma inline(Handle_Block);
end Block_Filter;